1. Field of the Invention
The present invention relates to an image processing apparatus, an image processing method, and a storage medium storing a program for causing a computer to execute the image processing method.
2. Description of the Related Art
Some image processing apparatuses include: an image input part that reads the image of an original or captures an image, and inputs the read or captured image; a semiconductor memory storing image data that is a digital signal to which the input image is converted; a large-capacity storage device storing the same image data, such as a hard disk drive; and an ASIC (application specific integrated circuit) (hereinafter referred to as a media link board or MLB) that performs image conversion (image compression). A monochrome image or color images such as a CMYK image or an RGB image are stored in the semiconductor memory and the storage device.
Such image processing apparatuses may include an image forming part that forms an image based on the image data stored in the large-capacity storage device. Image processing apparatuses having the image forming part include copiers, facsimile machines, and printers. In this case, the image data input by the image input part is stored by a method suitable for the image output method of an image output part.
The image output method of the image output part may differ, however, depending on the purpose of use, such as copying, facsimile, or printing. In this case, even if the same image data is input by the image input part, the method of storing the image data may differ depending on the image output method of the image output part. As a result, image data stored by a method suitable for an image output part may not be usable in another image output part having a different image output method, thus reducing the versatility of the image data.
In the case of converting image data input from the image input part using hardware such as the MLB, it is necessary to establish synchronization between processing on the software side that is the control side and processing on the hardware side where the image data is actually converted. Therefore, when such simple control is performed that the hardware and the software are alternately controlled, the software side has to wait for the completion of the conversion on the hardware side while the conversion is being performed on the hardware side. On the other hand, while the software side is performing the control operation, the hardware side has to wait for the completion of image preparation by the control operation on the software side. Accordingly, a waiting period is generated in both software and hardware sides.
Japanese Laid-Open Patent Application No. 2001-96854, for instance, teaches a technique to counter this problem. According to this technique, two buffer groups each made up of input and output buffers to which the same type of access occurs in units of processing such as bands are formed. The two buffer groups perform processing simultaneously so that each of the buffer groups can perform only one of data reading and data writing at a time and when one of the buffer groups performs data reading, the other one of the buffer groups performs data writing. Further, a data bus is divided into a portion dedicated to data writing and a portion dedicated to data reading so that each dedicated portion performs only one of data reading and data writing. This technique increases the efficiency of data transfer and the efficiency of bus usage between a memory and each of an expansion processing device and an input/output device, thus improving processing throughput and making it possible to perform high-speed processing.
Recent progress in technologies, such as improvements in transfer rate in data transfer and in data compression and processing rates in data compression using secondary storage such as a hard disk, is remarkable. Further, the image input/output parts in image processing apparatuses have come in an extremely wide variety. Therefore, it has become difficult to make the most of the capabilities of storage devices and data compression parts and secure productivity by conventional memory control.